package com.newjiabo.ski.service;

import java.util.List;

import com.newjiabo.ski.domain.SkiCameramanRequestNote;

/**
 * 摄影师申请单
 * Service接口
 *
 * @author CaoMengHui
 * @date 2023-10-18
 */
public interface ISkiCameramanRequestNoteService {
    /**
     * 查询摄影师申请单
     *
     * @param id 摄影师申请单
     *           主键
     * @return 摄影师申请单
     */
    SkiCameramanRequestNote selectSkiCameramanRequestNoteById(String id);

    /**
     * 查询摄影师申请单
     * 列表
     *
     * @param skiCameramanRequestNote 摄影师申请单
     * @return 摄影师申请单
     * 集合
     */
    List<SkiCameramanRequestNote> selectSkiCameramanRequestNoteList(SkiCameramanRequestNote skiCameramanRequestNote);

    /**
     * 新增摄影师申请单
     *
     * @param skiCameramanRequestNote 摄影师申请单
     * @return 结果
     */
    int insertSkiCameramanRequestNote(SkiCameramanRequestNote skiCameramanRequestNote);

    /**
     * 修改摄影师申请单
     *
     * @param skiCameramanRequestNote 摄影师申请单
     * @return 结果
     */
    int updateSkiCameramanRequestNote(SkiCameramanRequestNote skiCameramanRequestNote);

    /**
     * 批量删除摄影师申请单
     *
     * @param ids 需要删除的摄影师申请单
     *            主键集合
     * @return 结果
     */
    int deleteSkiCameramanRequestNoteByIds(String[] ids);

    /**
     * 删除摄影师申请单
     * 信息
     *
     * @param id 摄影师申请单
     *           主键
     * @return 结果
     */
    int deleteSkiCameramanRequestNoteById(String id);

    /**
     * 审核申请单
     *
     * @param noteId
     * @param auditStatus
     * @param auditorRemarks
     * @return
     * @author CaoMengHui.
     * @date 2023/10/18 15:46
     */
    int audit(String noteId, String auditStatus, String auditorRemarks);

    /**
     * 填写申请单
     *
     * @param cameramanRequestNote
     * @return
     */
    int apply(SkiCameramanRequestNote cameramanRequestNote);
}
